A new design of an application, such as a test version or even a new release may contain unacceptable bugs, and an undo facility for design update would be extremely useful. There are specific known solutions to this general problem for particular areas, such as Windows update uninstall. This tool does not, however, know of modifications made to registry settings since the last update, for example any Dynamic Link Libraries (DLLs) which have been created.
In a templated environment, such as IBM's Lotus® Workplace™ (Lotus and Workplace are trade marks of IBM Corporation), if an application design is updated using a new template, the current application design is lost and later it is not possible to revert to the specific previous application design, only the previous design template, and thus there may be a loss of data.
A template is a collection of components and tools that work in concert to provide the foundation for an application, such as a discussion forum. Typically, a template is composed of pages that contain portlets and also includes tools for controlling access to the template and resulting applications.
Suppose one has an application comprising three components:
a Membership component, which includes component data which describes its Role definitions (e.g. “Teacher”, “Student”);
a Document Management component which includes component data which describes its folder layout; and
a Portal component which includes component data which describes its pages and portlets.
Consider a design update, in which each of these components is to receive new designs, for example: a new role (“School Manager”) and a modified role definition (“Teacher” no longer has delete rights) for the membership component; a different folder hierarchy for the document management component; and several new pages and some changes to the existing portlet layouts for the portal component. These design changes can be made by editing the template, thereby changing the underlying structure of future applications created from the template, using a template editor. Modifying a template does not alter applications that have already been created from it; template changes affect only applications created after template changes are made and saved.
Another option for altering an application exists, namely customizing the application itself (rather than the template), for example, by changing or removing an application component or editing roles that allow users certain permissions in the application. Thus, suppose prior to the design update mentioned above, some changes had been made to the application such that it no longer conforms to the ‘original’ previous design template. For example: a “Principal” Role having being added to the membership component (where originally these just contained “Teacher” and “Student”); an extra folder having been added to the document management component; or an unneeded portlet having been removed from the portal component. If a new design template were to be applied to the application, but later a rollback to the version of the application that existed prior to design update is required, it would not be possible to just re-apply the original design template, as this would not reflect these changes.
The present invention aims to address these problems.